/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.carrito.jsf.bo;

import com.carrito.jdbc.dao.ImplArticuloClasificacion;
import com.carrito.jsf.bean.BeanArticuloClasificacion;
import com.carrito.jsf.persistence.ArticuloClasificacion;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;


/**
 *
 * @author oscarc
 */
public class ArticuloClasificacionImplBO implements ArticuloClasificacionBO {
    
    @Autowired
    private ImplArticuloClasificacion articuloClasificacionDAO;   //Mediante inyeccion de dependecias a traves de Spring en el applicationContext

    @Override
    public void insertar(BeanArticuloClasificacion obj) {
        ArticuloClasificacion articuloClasificacion = new ArticuloClasificacion();
        articuloClasificacion.setCodigo(obj.getCodigo());
        articuloClasificacion.setDescripcion(obj.getNombre());
        getArticuloClasificacionDAO().insertar(articuloClasificacion);//llama al metodo insertar
    }

    @Override
    public void eliminar(BeanArticuloClasificacion obj) {
        ArticuloClasificacion articuloClasificacion = new ArticuloClasificacion();
        articuloClasificacion.setCodigo(obj.getCodigo());
        articuloClasificacion.setDescripcion(obj.getNombre());
        getArticuloClasificacionDAO().eliminar(articuloClasificacion);
    }
    /*
     Metodo que actualiza los datos
     */
    @Override
    public void actualizar(BeanArticuloClasificacion obj) {
        ArticuloClasificacion articuloClasificacion = new ArticuloClasificacion();
        articuloClasificacion.setCodigo(obj.getCodigo());
        articuloClasificacion.setDescripcion(obj.getNombre());
        getArticuloClasificacionDAO().actualizar(articuloClasificacion);
    }

    /*
     Metodo que consulta los articulos clasificacion
     */
    @Override
    public List<BeanArticuloClasificacion> consultar() {
         List<BeanArticuloClasificacion> lista = new ArrayList<BeanArticuloClasificacion>();
        for (ArticuloClasificacion obj : articuloClasificacionDAO.consultar()) {
            BeanArticuloClasificacion bean = new BeanArticuloClasificacion();
            bean.setCodigo(obj.getCodigo());
            bean.setNombre(obj.getDescripcion());
            lista.add(bean);
        }
        return lista;
    }

    /**
     * @return the articuloClasificacionDAO
     */
    public ImplArticuloClasificacion getArticuloClasificacionDAO() {
        return articuloClasificacionDAO;
    }

    /**
     * @param articuloClasificacionDAO the articuloClasificacionDAO to set
     */
    public void setArticuloClasificacionDAO(ImplArticuloClasificacion articuloClasificacionDAO) {
        this.articuloClasificacionDAO = articuloClasificacionDAO;
    }
    
}
